import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;

public class Fechas{

   public static java.util.Date convertirStringADate(String p_fecha)
   {
      java.util.Date retorno = null;
      if (p_fecha != null)
      {
         try
         {
            retorno = (new SimpleDateFormat("dd/MM/yyyy")).parse(p_fecha);
         }
         catch (ParseException ex)
         {
            System.out.println(ex.getMessage());
         }
      }
      return retorno;
   }

   public static String convertirDateAString(java.util.Date p_fecha)
   {
      String retorno = null;
      if (p_fecha != null)
      {
         retorno = (new SimpleDateFormat("dd/MM/yyyy")).format(p_fecha);
      }
      return retorno;
   }

   public static String convertirDateAStringDB(java.util.Date p_fecha)
   {
      String retorno = null;
      if (p_fecha != null)
      {
         retorno = (new SimpleDateFormat("yyyy-MM-dd")).format(p_fecha);
      }
      return retorno;
   }

   public static java.sql.Date convertirDateADateSQL(java.util.Date p_fecha)
   {
      java.sql.Date retorno = null;
      if (p_fecha != null)
      {
         retorno = java.sql.Date.valueOf((new SimpleDateFormat("yyyy-MM-dd")).format(p_fecha));
      }
      return retorno;
   }


   public static java.sql.Date convertirStringADateSQL(String p_fecha)
   {
      java.sql.Date retorno = null;
      if (p_fecha != null)
      {
         retorno = Fechas.convertirDateADateSQL(Fechas.convertirStringADate(p_fecha));
      }
      return retorno;
   }

   public static boolean validar(String p_fecha)
   {
      if (p_fecha != null)
      {
         try
         {
        	SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
        	sdf.setLenient(false);
        	sdf.parse(p_fecha);
            return true;
         }
         catch (ParseException ex) {}
      }
      return false;
   }
   
   //DEVUELVE UN STRING CON LA FECHA ACTUAL
   public static String obtenerFechaActualString(){
	   	Calendar c = Calendar.getInstance();
	   	int d=c.get(Calendar.DAY_OF_MONTH);
	   	int m=c.get(Calendar.MONTH)+1;
	   	int a=c.get(Calendar.YEAR);
	   	String dia=new Integer(d).toString();
	   	dia=d<10?"0"+dia:dia;
	   	String mes=new Integer(m).toString();
	   	mes=m<10?"0"+mes:mes;
	   	String anio=new Integer(a).toString();
	
		return new String(dia+"/"+mes+"/"+anio);	   
   }
   //DEVUELVE UN STRING CON LA HORA ACTUAL
   public static String obtenerHoraSql(int h,int m, int s){
	    String hora=new Integer(h).toString();
		hora=h<10?"0"+hora:hora;
		String min=new Integer(m).toString();
		min=m<10?"0"+min:min;
		String seg=new Integer(s).toString();
		seg=s<10?"0"+seg:seg;
		
		return new String(hora+":"+min+":"+seg);
   }   
}

